package com.study.file.example;

import java.io.File;

import org.junit.Test;

/**
* @Name: FindFileNameByJpg
* @Description: 查找指定目录下所有以jpg结尾的文件，并输出文件名称
* 步骤：
* 	1、获取指定目录的File对象
* 	2、获取该目录下所有文件或目录的File对象数组
* 	3、遍历该File对象数组中的每一个File对象
* 	4、判断：
* 		是否是文件
* 			后缀是否为.jpg
* 				是	输出文件名称
* 				否	跳过
* 			否	跳过
* 		否	为目录，获取目录绝对路径，递归调用该方法（目录绝对路径名）
* @Author: 李超	lc_jack@foxmail.com
* @CreateDate: 2017-1-14 下午10:39:31 
* @Version: V1.0
 */
public class FindFileNameByJpg {
	
	/**
	* @Name: findJpgFile
	* @Description: 查找指定目录下所有以jpg结尾的文件，并输出文件名称
	* @Author: 李超	lc_jack@foxmail.com
	* @Version: V1.0
	* @CreateDate: 2017-1-14 下午10:56:10
	* @Parameters: @param path
	* @Return: void
	 */
	public void findJpgFile(String path) {
		//1、获取指定路径的File对象
		File file = new File(path) ;
		//2、获取该目录下所有文件或目录的File对象数组
		File[] listFiles = file.listFiles() ;
		//3、遍历该File对象数组中的每一个File对象
		if(listFiles != null && listFiles.length > 0) {
			for (File f : listFiles) {
				//4、如果是文件对象
				if(f.isFile()) {
					//判断是否为jpg，如果是，输出文件名称
					if(f.getName().endsWith(".jpg")) {
						System.out.println(f.getAbsolutePath());
					}
				} else { //5、如果是目录对象
					//递归调用此方法
					String absolutePath = f.getAbsolutePath() ;
					findJpgFile(absolutePath) ;
				}
			}
		}
	}
	
	@Test
	public void test() {
		String dirPath = "E:\\eclipse" ;
		findJpgFile(dirPath) ;
	}

}
